iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

React自我學習心得30天~系列 第 19

Day19 不使用JSX開發React的方式

  • 分享至 

  • xImage
  •  

當你在開發時若不想使用編譯器的話,不使用JSX也是可以開發react的。
每個JSX元素都只是呼叫 React.createElement(component, props, ...children)的語法糖。單純使用Java Script也可以完成react的開發。
例如下方為JSX開發的程式:

class Welcome extends React.Component {
  render() {
    return <div>Hello {this.props.someone}</div>;
  }
}

ReactDOM.render(
  <Welcome toWhat="小羽" />,
  document.getElementById('App')
);

若不使用JSX開發的話,可以改成下列方式:

class Welcome extends React.Component {
  render() {
    return React.createElement('div', {}, `Hello ${this.props.someone}`);
  }
}

ReactDOM.render(
  React.createElement(Welcome, {someone: 'World'}, {}),
  document.getElementById('root')
);

也可以用變數取代React.createElement來簡化你的程式。

const element=  React.createElement;
ReactDOM.render(
 element(Welcome, {someone: 'World'}, {}),
  document.getElementById('root')
);

當開發專案時若不使用JSX等語法糖時,單純使用Java Script開發也是很方便的


上一篇
Day18 Refs 和 DOM
下一篇
Day20 React的嚴格模式
系列文
React自我學習心得30天~30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言